package com.lechuang.member.manager;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lechuang.common.request.PageRequest;
import com.lechuang.common.result.PageResult;
import com.lechuang.common.result.Result;
import com.lechuang.member.dto.*;
import com.lechuang.member.vo.MemberDictCommonVo;
import com.lechuang.member.vo.MemberListVo;
import com.lechuang.member.vo.MemberVo;
import com.lechuang.user.vo.UserVo;

public interface MemberManagementManager {
    PageResult<MemberListVo> memberPage(PageRequest<MemberListDto> pageRequest);

   MemberVo authInfo(Long id);

    void memberAuth(MemberAuthDto memberAuthDto);

    void memberActive(MemberActiveDto memberActiveDto);

    MemberListVo queryById(MemberRequestDto memberRequestDto);

    void updateMemberInfo(MemberRequestDto memberRequestDto);

    void updateBonus(MemberBonusRequestDto memberBonusRequestDto);

    void updateWithdraw(MemberRequestDto memberRequestDto);

    void updateTransfer(MemberRequestDto memberRequestDto);

    void updateInviter(MemberRequestDto memberRequestDto);

    MemberVo queryByUserId(Long userId);

    MemberDictCommonVo queryDefaultDict();

    void saveMember(SaveMemberDto saveMemberDto);

    void updateMemberByUserId(SaveMemberDto saveMemberDto);
}
